import request from '@/utils/request'

// 查询预占用记录列表
export function listPreoccupancyrecord(query) {
  return request({
    url: '/wm/preoccupancyrecord/list',
    method: 'get',
    params: query
  })
}

// 查询预占用记录详细
export function getPreoccupancyrecord(id) {
  return request({
    url: '/wm/preoccupancyrecord/' + id,
    method: 'get'
  })
}

// 新增预占用记录
export function addPreoccupancyrecord(data) {
  return request({
    url: '/wm/preoccupancyrecord',
    method: 'post',
    data: data
  })
}

// 修改预占用记录
export function updatePreoccupancyrecord(data) {
  return request({
    url: '/wm/preoccupancyrecord',
    method: 'put',
    data: data
  })
}

// 删除预占用记录
export function delPreoccupancyrecord(id) {
  return request({
    url: '/wm/preoccupancyrecord/' + id,
    method: 'delete'
  })
}
// ===================

// 更新预占有量
/**
 *  出库单修改物料数量  更新预占有量
 * @param itemId 物料id
 * @param preOccupancyQuantity 预占用数量 你的出库数量
 * @param sourceDocId  源单单据头id
 * @param sourceDocType  源单类型  就是事务里的源单类型source_doc_type
 * @param sourceDocLineId  源单单据行id
 * @return
 */
export function updateWmPreOccupancyFromSource(data) {
  return request({
    url: '/wm/preoccupancyrecord/updateWmPreOccupancyFromSource',
    method: 'post',
    data: data
  })
}

/**
 *  解除预占用   解除预占用场景  1出库单出库  2出库前当删除单行物料  3删除草稿单据单据体中有数据的   对整单出库或者删除时，可以不传lineId，就直接跟新整单的
 * @param itemId
 * @param sourceDocType  源单类型
 * @param sourceDocId  源单单据头id
 * @param sourceDocLineId 源单单据体id 可不传
 */
export function updateIsRelieveBySource(data) {
  return request({
    url: '/wm/preoccupancyrecord/updateIsRelieveBySource',
    method: 'post',
    data: data
  })
}
// 获取剩余量
export function getRemainingQuantity(itemId) {
  return request({
    url: '/wm/preoccupancyrecord/getRemainingQuantity/' + itemId,
    method: 'get'
  })
}
